{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c5d71e37",
   "metadata": {},
   "source": [
    "# Attention All in ONE"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4a8eb9e9",
   "metadata": {},
   "source": [
    "“注意力”在平时的生活中相信大家都深有体会，当你认真读某本书的时候，会感觉眼睛中只有书中正在读的文字，竖起耳朵去听一个很微弱的声音的时候，这个声音也仿佛放大了，能听的更清楚。深度学习中Attention机制非常类似生物的注意力。人们视觉在感知东西的时候一般不会是一个场景从到头看到尾每次全部都看，而往往是根据需求观察注意特定的一部分。而且当人们发现一个场景经常在某部分出现自己想观察的东西时，人们会进行学习在将来再出现类似场景时把注意力放到该部分上。\n",
    "\n",
    "![](./asset/attention/visual1.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "75b5f844",
   "metadata": {},
   "source": [
    "不同时刻，在做不同任务的时候，我们的注意力不是一成不变的。就输入下图，我们在做图片翻译到文字的任务时，翻译不同对象的时候，聚焦的图片位置是有区别。\n",
    "\n",
    "![](./asset/attention/visual2.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "43b7de3a",
   "metadata": {},
   "source": [
    "基于以上的直觉，Attention可以用于，学习权重分布：\n",
    "\n",
    "   + 这个加权可以是保留所有分量均做加权（即soft attention）；也可以是在分布中以某种采样策略选取部分分量（即hard attention），此时常用RL来做；\n",
    "   + 这个加权可以作用在原图上，也可以作用在特征图上；\n",
    "   + 这个加权可以在时间维度、空间维度、mapping维度以及feature维度。\n",
    "\n",
    "   以seq2seq举例，传统的模型decoder输入的上下文c是一成不变的，但这显然不够合理，如果这是一个翻译模型，原文为“我喜欢食物”，当我翻译到\"i like\"时，我翻译下一个\"food\"时应该更关注的是\"食物\"，而不是别的。\n",
    "   \n",
    "![](./asset/attention/seq2seq1.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bcb0a3b7",
   "metadata": {},
   "source": [
    "所以，我们在seq2seq解码过程中，在每一步可以利用Attention，对Encoder每一步的hidden state进行加权，获得不同的语义编码，获得更好的翻译效果。\n",
    "\n",
    "![](./asset/attention/seq2seq2.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c5578478",
   "metadata": {},
   "source": [
    "效果展示,横轴是输入的待翻译原文，纵轴是翻译结果，可以看到翻译到不同的英文单词时，对于原文的单词注意力差别是非常巨大的。\n",
    "\n",
    "![](./asset/attention/seq2seq3.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8d8bb2bf",
   "metadata": {},
   "source": [
    "同时，我们还可以利用Attention对多任务进行聚焦、解耦（通过attention mask），使得单一模型能够进行多项任务，且均达到比较良好的性能。多任务模型，可以通过Attention对feature进行权重再分配，聚焦各自关键特征。在图像分割论文***Fully Convolutional Network with Task Partitioning for Inshore Ship Detection in Optical Remote Sensing Images***中:\n",
    "\n",
    "针对靠岸舰船，本文通过任务解耦的方法来处理。因为高层特征表达能力强，分类更准，但定位不准；底层低位准，但分类不准。为了应对这一问题，本文利用一个深层网络得到一个粗糙的分割结果图（船头/船尾、船身、海洋和陆地分别是一类）即Attention Map；利用一个浅层网络得到船头/船尾预测图，位置比较准，但是有很多虚景。**训练中，使用Attention Map对浅层网络的loss进行引导，只反传在粗的船头/船尾位置上的loss，其他地方的loss不反传。**相当于，**深层的网络能得到一个船头/船尾的大概位置，然后浅层网络只需要关注这些大概位置，然后预测出精细的位置，图像中的其他部分（如船身、海洋和陆地）都不关注，从而降低了学习的难度。** \n",
    "\n",
    "![](./asset/attention/visual3.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0ca65b5f",
   "metadata": {},
   "source": [
    "# Attention 发展历程\n",
    "\n",
    "Attention机制最早是在视觉图像领域提出来的，应该是在九几年思想就提出来了，但是真正火起来应该算是2014年google mind团队的这篇论文《Recurrent Models of Visual Attention》，他们在RNN模型上使用了attention机制来进行图像分类。随后，Bahdanau等人在论文《Neural Machine Translation by Jointly Learning to Align and Translate》中，使用类似attention的机制在机器翻译任务上将翻译和对齐同时进行，他们的工作算是第一个将attention机制应用到NLP领域中。接着attention机制被广泛应用在基于RNN/CNN等神经网络模型的各种NLP任务中。2017年，google机器翻译团队发表的《Attention is all you need》中大量使用了自注意力（self-attention）机制来学习文本表示。自注意力机制也成为了大家的研究热点，结合预训练模型技术的发展，在NLP/CV/时间序列预测/推荐算法等多个领域均取得了巨大突破。。下图展示了attention研究进展的大概趋势：\n",
    "\n",
    "![](./asset/attention/2_1.png)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b7c88dd5",
   "metadata": {},
   "source": [
    "# Attention 计算原理\n",
    "\n",
    "---\n",
    "$Attention(Q,K,V)=softmax(score({Q, K})V$\n",
    "\n",
    "Google 2017年论文[Attention is All you need](w)中，为Attention做了一个抽象定义：\n",
    "\n",
    "> An attention function can be described as mapping a query and a set of key-value pairs to an output, where the query, keys, values, and output are all vectors. The output is computed as a weighted sum of the values, where the weight assigned to each value is computed by a compatibility function of the query with the corresponding key.\n",
    ">\n",
    "> 注意力是将一个查询和键值对映射到输出的方法，Q、K、V均为向量，输出通过对V进行加权求和得到，权重就是Q、K相似度。\n",
    "---\n",
    "\n",
    "这是一个非常General的定义，我们举例说明一下QKV分别代表什么，在机器翻译中，Encoder 编码的信息是我们原始语义信息（V），Decoder的上一步输出的hidden state 定义的当前正在翻译的内容，是我们需要处理的问题（Q），此外我们还需要构造一个信息门牌（K），通过（Q）计算每个门牌的权重，用于给原始语义信息（V)做加权。\n",
    "\n",
    "计算Attention Weighted Value有三个步骤：\n",
    "\n",
    "1. 首先的到Q、K、V （在不同任务中，QKV需要用不同方式去构造）\n",
    "2. 计算Q、K相似度\n",
    "3. 将相似度进行Softmax处理，得到权重\n",
    "4. 根据权重对V进行加权\n",
    "\n",
    "![](./asset/attention/3_1.jpg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "be94cab7",
   "metadata": {},
   "source": [
    "而在整个过程中，最关键的是如何构造Q、K、V，然后是如何选择 `score`函数去计算相似度，这里先用几个案例讲解一下如何的到Q、K、V及score function。\n",
    "\n",
    "\n",
    "# 文本分类&Attention\n",
    "\n",
    "论文《Understanding Attention for Text Classification》中使用了一种比较简单且广泛使用的Q、K、V构造方式。\n",
    "\n",
    "![](asset/attention/attention1.png)\n",
    "\n",
    "输入文本长度为n，经过LSTM后得到每一步的hidden state 向量 $h_i$，这个向量同时看成K和V，查询向量Q使用一个可学习的模型参数向量W表示，并且使用dot product （点积运算）作为`score function`，这样就可以计算每一个K的score：\n",
    "\n",
    "$$ score_i = \\frac{h_i^{T} W}{\\gamma} $$\n",
    "\n",
    "其中，$\\gamma$是一个比较大的常数，用于对点积结果做放缩，使得最后softmax后的权重更加平滑，一般情况下我们可以设置成K向量维度大小的根号 $\\sqrt{d_K}$。\n",
    "\n",
    "$$ weight = softmax(score) $$\n",
    "\n",
    "其中每个分量按照softmax的到 $weight_i = \\frac{e^{score_i}}{\\sum{e^{score_j}}}$，这样我们就的到了Attention权重，只需要用其对V做加权求和就可以了。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fd2a2f15",
   "metadata": {},
   "source": [
    "将分类Attention权重可视化可以发现，重点的单词被给与了更高的权重，PAD特殊字符几乎0权重。\n",
    "\n",
    "![](./asset/attention/4_1.png)\n",
    "![](./asset/attention/4_2.png)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "3f51b22d",
   "metadata": {},
   "source": [
    "# Transformer with SelfAttention\n",
    "\n",
    "《Attention is All You Need》是一个里程碑式的论文，提出了一种完全基于注意力机制的新模型结构 - Transformer，在NLP/CV/序列等大量领域均取得突破。\n",
    "\n",
    "## Transformer基础结构\n",
    "\n",
    "Transformer采用Encoder-Decoder架构，下图中左侧为encoder,右侧为decoder，Transformer encoder和decoder中使用3种网络结构：全连接层、多头自注意力层和LayerNorm层组成TransformerLayer，再对Transformer Layer堆叠N次。\n",
    "\n",
    "![image.png](attachment:image.png)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3870305d",
   "metadata": {},
   "source": [
    "## LayerNorm\n",
    "\n",
    "Batch Normalization 的处理对象是对一批样本， Layer Normalization 的处理对象是单个样本。Batch Normalization 是对这批样本的同一维度特征做归一化， Layer Normalization 是对这单个样本的所有维度特征做归一化。在Pytorch中，torch.nn.LayerNorm 实现了这个方法。\n",
    "\n",
    "![](asset/attention/layernorm.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "158abadb",
   "metadata": {},
   "source": [
    "## 多头自注意力机制\n",
    "\n",
    "重点是自注意力（Self Attention）。\n",
    "\n",
    "![](asset/attention/selfattn1.png)\n",
    "\n",
    "根据前面注意力机制的描述，我们只需要构造Q、K、V，可以通过点积计算相似度获得Attention 权重。而self-attention的特殊指出就在于， Q、K、V都来自输入本身！我们只需要构造3个线性映射$W_Q$、$W_K$、$W_V$，将原始输入映射成Q、K、V，就可以计算Attention了。\n",
    "\n",
    "![](asset/attention/selfattn2.png)\n",
    "\n",
    "多个自注意力机制输出结果合并，再经过一个线性映射$W_O$，就是多头自注意力输出结果了。\n",
    "\n",
    "![](asset/attention/selfattn3.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8a2995a9",
   "metadata": {},
   "source": [
    "## Transformer Layer\n",
    "\n",
    "一个完整的Transformer Layer就是由全链接层、多头自注意力层及LayerNorm层构成的，具体结构如下图。\n",
    "\n",
    "![](asset/attention/selfattn4.png)\n",
    "\n",
    "需要注意的是，Transformer Layer 输入和输出的时序长度总是横等的，但是由于自注意力机制的存在，每个时间步都包含了其他时间步的所有信息，因此利用Transformer结构来做一些分类回归单步回归的问题时候，我们通常只会使用首个输出或者最后一步的输出结果，加入一个分类或者回归层来实现。PyTorch已经实现了Transformer Layer，我们来看看："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "5c626218",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "\n",
    "transformer = nn.TransformerEncoderLayer(\n",
    "    d_model=36,  # 输入特征维度size\n",
    "    nhead=6,   # 多头数量\n",
    "    batch_first=True, # 类似LSTM/RNN的参数，是否设置地一个维度为batch size维度\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b77b364c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 模拟一个输入\n",
    "x = torch.rand(4, 12, 36)\n",
    "\n",
    "output = transformer(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "cd40836c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([4, 12, 36])\n"
     ]
    }
   ],
   "source": [
    "print(output.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5832f8d6",
   "metadata": {},
   "source": [
    "# 图像处理 & Attention\n",
    "\n",
    "![](./asset/attention/visionattn.png)\n",
    "\n",
    "论文《Attention mechanisms in computer vision: A survey》对典型的注意力机制在视觉领域中的应用做了一个总结。包含空间注意力，通道注意力，分支注意力，时序注意力（视频）等。这里我们以`CBAM`为例来讲解通道和空间注意力网络。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c5e51782",
   "metadata": {},
   "source": [
    "![](./asset/attention/CBAM1.png)\n",
    "\n",
    "CBAM全称是Convolutional Block Attention Module, 是在ECCV2018上发表的注意力机制代表作之一。论文中，作者研究了网络架构中的注意力，注意力不仅要告诉我们重点关注哪里，还要提高关注点的表示。 目标是通过使用注意机制来增加表现力，关注重要特征并抑制不必要的特征。为了强调空间和通道这两个维度上的有意义特征，作者依次应用通道和空间注意模块，来分别在通道和空间维度上学习关注什么、在哪里关注。此外，通过了解要强调或抑制的信息也有助于网络内的信息流动。主要网络架构简单，一个是通道注意力模块，另一个是空间注意力模块，CBAM就是先后集成了通道注意力模块和空间注意力模块。\n",
    "\n",
    "通道注意力机制按照下图进行实现，通过2个Shared MLP（采用卷积完成），输入每个通道特征图的avg/max pooling信息，输出每个通道的权重（经过sigmoid），进行信息的提取。需要注意的是，其中的bias需要人工设置为False。\n",
    "\n",
    "![](./asset/attention/CBAM2.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e2a2fc96",
   "metadata": {},
   "source": [
    "```python\n",
    "\n",
    "class ChannelAttention(nn.Module):\n",
    "    def __init__(self, in_planes, rotio=16):\n",
    "        super(ChannelAttention, self).__init__()\n",
    "        self.avg_pool = nn.AdaptiveAvgPool2d(1)\n",
    "        self.max_pool = nn.AdaptiveMaxPool2d(1)\n",
    "\n",
    "        self.sharedMLP = nn.Sequential(\n",
    "            nn.Conv2d(in_planes, in_planes // ratio, 1, bias=False), nn.ReLU(),\n",
    "            nn.Conv2d(in_planes // rotio, in_planes, 1, bias=False))\n",
    "        self.sigmoid = nn.Sigmoid()\n",
    "\n",
    "    def forward(self, x):\n",
    "        avgout = self.sharedMLP(self.avg_pool(x))\n",
    "        maxout = self.sharedMLP(self.max_pool(x))\n",
    "        return self.sigmoid(avgout + maxout)\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c9137f51",
   "metadata": {},
   "source": [
    "空间注意力模块首先对原始特征图在通道维度进行max和avg，组成2通道输入，模型通过一个conv层输出所有像素点的权重值，即空间注意力。\n",
    "\n",
    "![](./asset/attention/CBAM3.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c78dbd2a",
   "metadata": {},
   "source": [
    "```python\n",
    "class SpatialAttention(nn.Module):\n",
    "    def __init__(self, kernel_size=7):\n",
    "        super(SpatialAttention, self).__init__()\n",
    "        assert kernel_size in (3,7), \"kernel size must be 3 or 7\"\n",
    "        padding = 3 if kernel_size == 7 else 1\n",
    "\n",
    "        self.conv = nn.Conv2d(2,1,kernel_size, padding=padding, bias=False)\n",
    "        self.sigmoid = nn.Sigmoid()\n",
    "\n",
    "    def forward(self, x):\n",
    "        avgout = torch.mean(x, dim=1, keepdim=True)\n",
    "        maxout, _ = torch.max(x, dim=1, keepdim=True)\n",
    "        x = torch.cat([avgout, maxout], dim=1)\n",
    "        x = self.conv(x)\n",
    "        return self.sigmoid(x)\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dbcdfd36",
   "metadata": {},
   "source": [
    "最后的使用一个类进行两个模块的集成，得到的通道注意力和空间注意力以后，使用广播机制对原有的feature map进行信息提炼，最终得到提炼后的feature map。以上代码以ResNet中的模块作为对象，实际运用可以单独将以下模块融合到网络中:\n",
    "\n",
    "```python\n",
    "\n",
    "class cbam(nn.Module):\n",
    " \tdef __init__(self, planes):\n",
    "        super(cbam,self).__init__()\n",
    "        self.ca = ChannelAttention(planes)# planes是feature map的通道个数\n",
    "        self.sa = SpatialAttention()\n",
    "    def forward(self, x):\n",
    "        x = self.ca(x) * x  # 广播机制\n",
    "        x = self.sa(x) * x  # 广播机制\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "71bc931b",
   "metadata": {},
   "source": [
    "# Ref\n",
    "\n",
    "### Paper\n",
    "\n",
    "1. [Hierarchical Attention Networks for Document Classification](https://www.cs.cmu.edu/~diyiy/docs/naacl16.pdf)\n",
    "2. [Attention Is All You Need](https://arxiv.org/abs/1706.03762)\n",
    "3. [Neural Machine Translation by Jointly Learning to Align and Translate]()\n",
    "4. [Show, Attend and Tell: Neural Image Caption Generation with Visual Attention]()\n",
    "5. [Fully Convolutional Network with Task Partitioning for Inshore Ship Detection in Optical Remote Sensing Images](ww)\n",
    "6. [Effective Approaches to Attention-based Neural Machine Translation]()\n",
    "7. [Vision Attention Survey](https://link.springer.com/content/pdf/10.1007/s41095-022-0271-y.pdf)\n",
    "8. [Convolutional Block Attention Module](https://openaccess.thecvf.com/content_ECCV_2018/papers/Sanghyun_Woo_Convolutional_Block_Attention_ECCV_2018_paper.pdf)\n",
    "\n",
    "### github\n",
    "\n",
    "1. [pytorch-attention](https://github.com/thomlake/pytorch-attention)\n",
    "2. [seq2seq](https://github.com/keon/seq2seq)\n",
    "3. [PyTorch-Batch-Attention-Seq2seq](https://github.com/AuCson/PyTorch-Batch-Attention-Seq2seq)\n",
    "\n",
    "### Blog\n",
    "\n",
    "1. [一文读懂「Attention is All You Need」| 附代码实现 ](https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&mid=2247486960&idx=1&sn=1b4b9d7ec7a9f40fa8a9df6b6f53bbfb&chksm=96e9d270a19e5b668875392da1d1aaa28ffd0af17d44f7ee81c2754c78cc35edf2e35be2c6a1&scene=21#wechat_redirect)\n",
    "2. [Attention Model（mechanism） 的 套路](https://blog.csdn.net/bvl10101111/article/details/78470716)\n",
    "3. [【计算机视觉】深入理解Attention机制](https://blog.csdn.net/yideqianfenzhiyi/article/details/79422857)\n",
    "4. [自然语言处理中的自注意力机制](https://www.cnblogs.com/robert-dlut/p/8638283.html])\n",
    "5. [Encoder-Decoder模型和Attention模型](https://blog.csdn.net/u014595019/article/details/52826423)\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
